草庐IT

php - 在sql中添加数字

全部标签

sql - 使用带有 XMLNS 的 OPENXML 命令将 XML 导入 SQL 服务器

我有以下代码将xml导入SQLDECLARE@XMLASXML,@hDocASINT,@SQLNVARCHAR(MAX)SELECT@XML=XMLDataFROMXMLwithOpenXMLEXECsp_xml_preparedocument@hDocOUTPUT,@XMLSELECTrid,uidFROMOPENXML(@hDoc,'/PportTimetable/Journey')WITH(rid[varchar](50)'@rid',uid[varchar](100)'@uid')EXECsp_xml_removedocument@hDocGO我可以让代码工作,但只有当它不包含

sql - 有没有比这更快的方法从 T-SQL 中的 XML 节点中提取数据?

我目前正在尝试在T-SQL中创建一个存储过程,它将一个XML表作为其输入,然后将其中的数据插入到一个临时表中。我使用的XML格式如下:我用来将此XML数据插入临时表的SQL格式如下:INSERTINTO#TempTableSELECTT.c.value('@MyFirstColumn','varchar(50)'),T.c.value('@MySecondColumn','varchar(50)'),...FROM@x.nodes('//Table/row')T(c)但是,我使用的是包含150列和超过200,000行的XML表。目前,在10,000行上执行此SQL大约需要142秒,因此

SQL优化: Xml or Delimited String

希望这只是一个涉及Sql2008查询性能优化的简单问题。我曾为在ETL流程和部分网站中大量使用存储过程的公司工作过。我见过他们需要根据一组有限的键值检索特定记录的场景。我已经看到它以3种不同的方式处理,如下面的伪代码所示。连接字符串并执行它的动态SQL。EXEC('SELECT*FROMTableXWHERExIdIN('+@Parameter+')'使用用户定义的函数将分隔的字符串拆分成表格SELECT*FROMTableYINNERJOINSPLIT(@Parameter)ONyID=splitId使用XML作为参数而不是分隔的varchar值SELECT*FROMTableZJO

sql-server - 如何解析sql server中的xml以处理DateTime DataType中的NULL值

我已经在sqlserver中创建了一个示例查询来解析来自xml的数据并立即显示它。虽然我会将这些数据插入到我的表中,但在此之前我面临一个简单的问题。我想在日期时间字段ADDED_DATE="NULL"中插入NULL,如下面的xml所示。但是当我执行这个查询时。它给我错误从字符串转换日期时间时转换失败。我做错了什么。请突出显示我的错误。declare@xmlvarchar(1000)set@xml=''declare@handleintexecsp_xml_preparedocument@handleoutput,@xmlselect*fromOPENXML(@handle,'/ROOT

xml - 使用 XSL 将 xmlns 属性添加到 XML 文档时出现问题

我的XSL中有以下内容,它向我的XML添加了一个xmlns。Default上面确实向根元素(顶级元素)添加了一个xmlns属性。但是,它还向后续元素添加了一个xmlns。结果是这样的:我不知道步骤元素中的xmlns从何而来。我没有指定将xmlns添加到步骤元素的代码。下面是我的xsd的片段:我的xsl或xsd有问题吗?我似乎无法弄清楚问题出在哪里。谢谢。编辑:按照Dimitre的转换代码,我设法将namespace属性插入到根元素中。但是,更多命名空间属性的实例出现在转换后的xml文档的更下方。下面是发生的事情:......xsl看起来像这样:Default我喜欢命名空间现在出现在根元

sql-server - 是否可以为 XML 中的数据安排外键约束?

XML列中的一些节点值引用已知表的整数主键。有没有可能让SQLServer检查这种外键关系? 最佳答案 答案是否定的,你不能。您不能直接使用XMLvalue()在FOREIGNKEY关系。为了好玩,我尝试创建一个计算列,其结果是调用.value('','int')包装在用户定义的函数中。问题是您也不能在FOREIGNKEY中使用计算列。关系。在实际约束之外,您可以尝试对传入的INSERT执行验证和UPDATE触发器中的语句......但这已经成为一个困惑的解决方案。正如Damien所说-如果您想强制执行外键约束,这实际上不属于XML

sql-server - 查询多个 XML 值

BobVillaTomWhateverSarahkajdl我如何查询拥有TomWhatever作者的任何记录?我见过的大多数查询示例都引用值[x],但我想搜索所有作者。DECLARE@authorasvarchar(100)SET@author='TomWhatever'SELECTxmlfield.value('/book/author')WHERExmlfield.value('/book/author')=@author 最佳答案 答案在这里DECLARE@xXMLSET@x='BobVillaTomWhateverSarah

xml - XSLT 中需要什么来添加缺失的 XML 元素?

我正在尝试将XML文件转换为更新版本。我有以下源XMLMyKeyOneMyKeyTwo转换看起来像这样......然而,目标实际上可能已经像这样,所以如果已经存在,我不想添加部分xyz:MyKeyOneMyKeyTwoMyKeyThreeXSLT目前看起来像这样:这似乎复制了现有的东西。如果它实际上丢失了,我如何让它添加我丢失的元素? 最佳答案 尝试这样的事情:MyKeyThree 关于xml-XSLT中需要什么来添加缺失的XML元素?,我们在StackOverflow上找到一个类似的问

java - 使用 jdom 向现有 xml 添加内容

packagexml.dierenshop.flaming.v1;importorg.jdom2.Document;importorg.jdom2.Element;importorg.jdom2.output.XMLOutputter;importorg.jdom2.output.Format;importjava.io.FileWriter;importjava.io.IOException;publicclassWriter{publicvoidWriter(Stringcategorie,Stringcode,Stringnaamartikel,Stringbeschrijvin

sql - 如何连接来自 SQL Server XML 查询的数据?

我有一个SQL查询返回下面的XMLelectronics0x58phones0x5AC0curvy-simplicity65546等等我想要的输出是一个包含两列(Url和ShortenedUrl)的表,数据以url方式连接,如下所示。Url|ShortenedUrlelectronics/phones/curvy-simplicity|0x58/0x5AC0/65546等等有人能帮忙吗?祝好 最佳答案 您可以像这样使用xquery:selectstuff(@data.query('for$iinrow/urlSegmentretur